1. Field
This invention relates generally to averaging measurement circuits. In particular, the present invention relates to averaging measurement circuits in a silicon chip.
2. Description
Conventional average measuring circuits use two registers to obtain an average. The first register is used to count the number of data events and the second register stores the sum of the data of the counted events. At least the second register of such an average measuring circuit is large enough, 32 or 64 bits, for example, to store the data sum. See FIG. 1. An average is obtained by dividing the data sum stored in the second counter by the number of events stored in the first counter. This division is not done at the time the data events are received and stored; it is done at some later time usually during execution of some program. Thus, each individual data event is stored at least until the average for which it may be desired is calculated.
An additional problem is that, if the data values being averaged relates to the operational efficiency of a processor, the prior art method of obtaining an average by referring to the earlier stored contents of the two registers itself perturbs the efficiency of the processor being measured. Consequently, moving averages are usually taken over an extremely large number of samples.
An additional problem is that silicon chips typically include huge multi-purpose counters which can be used to store any number of different events occurring in the chip. The counted events can be used to adjust software operations, etc. A moving average is usually generated by dividing one of the huge multi-purpose counters by another counter. Such a method is disadvantageous in a silicon chip because the counters are very large and they consequently employ a significant part of the available silicon area.